---
id: 302
title: MqttServer
---


import useBaseUrl from "@docusaurus/useBaseUrl";
import Tag from "@site/src/components/Tag.js";
import Highlight from '@site/src/components/Highlight.js';

:::tip `提示`

通过自定义脚本，可快速适配业务模型

脚本的示例请查看**常见问题**

:::

:::tip `权限注意`

Server的连接权限除了Id前缀限制外，账号密码同样要求，在网关后台创建的所有账号密码都可以登录MqttServer

:::


## 一、说明

MqttServer支持Tcp/webSocket方式接入，可以定时/变化发布数据，支持Rpc写入


通道只支持 Other 

## 二、插件属性配置项

<img src={require("@site/static/img/docs/MqttServer.png").default} />

| 属性           |  说明                    | 备注|
| ---------------| --------------------------| ---|
| IP         | ServerIP,为空时指任意IP              | |
| 端口         | Tcp绑定端口              | 1883|
| WebSocket端口         | WebSocket绑定端口             | 8083，固定/mqtt路由 |
| 允许连接的ID(前缀)         | 允许连接的ID(前缀)             |ClientId必须以这个属性开头  |
| 允许Rpc写入         | 是否允许写入变量              |  |
| Rpc写入Topic         | 写入变量的主题              | 实际的写入主题为固定通配 {RpcWrite/+} ，其中RpcWrite为该属性填入内容，+通配符是请求GUID值；返回结果主题会在主题后添加Response , 也就是{RpcWrite/+/Response} |
| 设备是否列表         | 设备是否列表上传，false时每个设备实体都会单独发布，注意性能需求，默认为true             |  |
| 变量是否列表         | 变量是否列表上传，false时每个变量实体都会单独发布，注意性能需求，默认为true             |  |
| 报警是否列表         | 报警是否列表上传，false时每个报警实体都会单独发布，注意性能需求，默认为true             |  |
| 设备Topic         | 设备实体的发布主题 ，使用${key}作为匹配项，key必须是上传实体中的属性            |  |
| 变量Topic         | 变量实体的发布主题 ，使用${key}作为匹配项，key必须是上传实体中的属性            |  |
| 报警Topic         | 报警实体的发布主题 ，使用${key}作为匹配项，key必须是上传实体中的属性            |  |
| 设备实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**DeviceData**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本，脚本示例请查看**常见问题**  |
| 变量实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**VariableData**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本，脚本示例请查看**常见问题** |
| 报警实体脚本         | 脚本返回新的实体列表，动态类中需继承**IDynamicModel**，传入列表为**AlarmVariable**,查看以下具体属性            | 编辑页面中，可通过检查按钮验证脚本，脚本示例请查看**常见问题** |
| 是否选择全部变量         | 是否选择全部变量，true时不需要单个变量添加业务属性            |  |
| 是否间隔执行         | 是否选择全部变量，true间隔上传，False变化检测上传            |  |
| 间隔执行时间         | 间隔执行时间           |  |
| 启用缓存         | 是否启用缓存           |  |
| 上传列表最大数量         | 每一次上传的列表最大数量           |  |
| 内存队列最大数量         | 内存队列的最大数量，超出或失败时转入文件缓存，根据数据量设定适当值           |  |

### 脚本与实体

查看MqttClient页面[脚本接口](./301.mdx#脚本接口) 

## 三、变量业务属性

### 允许写入

单独配置变量是否允许写入


## 四、Rpc

查看MqttClient页面[Rpc](./301.mdx#四rpc) 
